home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
backup
/
dds2tar-.000
/
dds2tar-2.4.12.tar
/
dds2tar-2.4.12
/
dds_chkhdr.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-01-28
|
691b
|
40 lines
/*
* This file is part of dds2tar.
* Copyright by J"org Weule
*/
#include <stdlib.h>
#include <stdio.h>
#include <sys/mtio.h>
#include <unistd.h>
#include <string.h>
#include "dds2tar.h"
#include "dds_tape.h"
int dds_is_tar_header_record(tar_record*const ptr){
int i;
unsigned int n = 0;
unsigned char *p = (char*)ptr ;
for (i = 0; i < 148; i++)
n += p[i];
for (i = 0; i < 8; i++)
n += ' ';
for (i = 156; i < 512; i++)
n += p[i];
sscanf(p + 148, "%8o", &i);
if ( n != ((int)' ') * 8 ){
if ( i == 0 ) {
sprintf(p+148 , "%o", n );
} else
if ( i != n ) return 0;
sscanf(ptr->hdr.size,"%o",&i);
i += 512 + 511 ;
i >>= 9 ;
} else i=1 ;
return i;
}